package org.zoomdev.zoom.dao.annotations;

import org.zoomdev.zoom.dao.ddl.SqlType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


/**
 * 标注对应的是数据库的那个字段（或者是select语句中的部分）
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Column {
    /**
     * 数据库字段名称
     *
     * @return
     */
    String value() default "";

    int size() default 0;

    boolean notNull() default true;

    String defaultValue() default "";

    String comment() default "";

    SqlType type() default SqlType.UNSPECIFIED;

}
